package com.thinkit.bigdata.web.service.tagging;

import com.thinkit.bigdata.web.model.es.audioEs.VoiceInfoDto;
import com.thinkit.bigdata.web.model.result.HtmlResult;
import org.elasticsearch.index.query.BoolQueryBuilder;

import javax.servlet.http.HttpServletRequest;
import java.lang.reflect.InvocationTargetException;
import java.util.List;
import java.util.Map;

public interface TaggingService {

    HtmlResult getTaggingList(String serialNumber);

    HtmlResult getTaggingMesList(String serialNumber, String tagId);

    HtmlResult judgeTaggingError(String serialNumber, String tagId, Integer matchStatus, String proNote, String startTime, String endTime);

    List<Map<String, Object>> taggingStatistics(HttpServletRequest request, String logTxt);

    List<Map<String, String>> getExportDate(HttpServletRequest request, String logTxt);

    List<VoiceInfoDto> getErrorExportDate(HttpServletRequest request, String logTxt) throws InvocationTargetException, IllegalAccessException;

    HtmlResult searchData(HttpServletRequest request) throws InvocationTargetException, IllegalAccessException;

    BoolQueryBuilder getQuery(String logTxt, HttpServletRequest request);
}
